// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 1
pub fn blake2_precompile_fail_wrong_length_input_1_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        12,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1
    ].span();

    let output = [].span();

    (input, output)
}

// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 2
pub fn blake2_precompile_fail_wrong_length_input_2_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        0,
        0,
        12,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1
    ].span();

    let output = [].span();

    (input, output)
}

// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 3
pub fn blake2_precompile_fail_wrong_length_input_3_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        0,
        12,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        2
    ].span();

    let output = [].span();

    (input, output)
}

// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 4
pub fn blake2_precompile_pass_0_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        0,
        0,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1
    ].span();

    let output = [
        8,
        201,
        188,
        243,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        210,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        148,
        66,
        190,
        4,
        84,
        38,
        124,
        224,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91
    ].span();

    (input, output)
}


// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 5
pub fn blake2_precompile_pass_1_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        0,
        12,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1
    ].span();

    let output = [
        186,
        128,
        165,
        63,
        152,
        28,
        77,
        13,
        106,
        39,
        151,
        182,
        159,
        18,
        246,
        233,
        76,
        33,
        47,
        20,
        104,
        90,
        196,
        183,
        75,
        18,
        187,
        111,
        219,
        255,
        162,
        209,
        125,
        135,
        197,
        57,
        42,
        171,
        121,
        45,
        194,
        82,
        213,
        222,
        69,
        51,
        204,
        149,
        24,
        211,
        138,
        168,
        219,
        241,
        146,
        90,
        185,
        35,
        134,
        237,
        212,
        0,
        153,
        35
    ].span();

    (input, output)
}

// source: [EIP-152](https://eips.ethereum.org/EIPS/eip-152), Test Vector 6
pub fn blake2_precompile_pass_2_test_case() -> (Span<u8>, Span<u8>) {
    let input = [
        0,
        0,
        0,
        12,
        72,
        201,
        189,
        242,
        103,
        230,
        9,
        106,
        59,
        167,
        202,
        132,
        133,
        174,
        103,
        187,
        43,
        248,
        148,
        254,
        114,
        243,
        110,
        60,
        241,
        54,
        29,
        95,
        58,
        245,
        79,
        165,
        209,
        130,
        230,
        173,
        127,
        82,
        14,
        81,
        31,
        108,
        62,
        43,
        140,
        104,
        5,
        155,
        107,
        189,
        65,
        251,
        171,
        217,
        131,
        31,
        121,
        33,
        126,
        19,
        25,
        205,
        224,
        91,
        97,
        98,
        99,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    ].span();

    let output = [
        117,
        171,
        105,
        211,
        25,
        10,
        86,
        44,
        81,
        174,
        248,
        216,
        143,
        28,
        39,
        117,
        135,
        105,
        68,
        64,
        114,
        112,
        196,
        44,
        152,
        68,
        37,
        44,
        38,
        210,
        135,
        82,
        152,
        116,
        62,
        127,
        109,
        94,
        162,
        242,
        211,
        232,
        210,
        38,
        3,
        156,
        211,
        27,
        78,
        66,
        106,
        196,
        242,
        211,
        214,
        102,
        166,
        16,
        194,
        17,
        111,
        222,
        71,
        53
    ].span();

    (input, output)
}
